gtk: Make gtk_get_current_event() return a reference
authorCarlos Garnacho <carlosg@gnome.org>
Tue, 31 Oct 2017 13:03:35 +0000 (14:03 +0100)
committerCarlos Garnacho <carlosg@gnome.org>
Thu, 14 Dec 2017 00:05:48 +0000 (01:05 +0100)
All callers in gtk seem to be ok with it, and it makes sense if
we are dealing with events as "static after delivered".

gtk/gtkmain.c

index 8b0f6774e01a59cf3b18d08c16857d123f6c66a7..2e1a0223ef0c995c843faac5ae990731d7ce4b3c 100644 (file)
@@ -2324,13 +2324,13 @@ gtk_device_grab_remove (GtkWidget *widget,
 /**
  * gtk_get_current_event:
  *
- * Obtains a copy of the event currently being processed by GTK+.
+ * Obtains a reference of the event currently being processed by GTK+.
  *
  * For example, if you are handling a #GtkButton::clicked signal,
  * the current event will be the #GdkEventButton that triggered
  * the ::clicked signal.
  *
- * Returns: (transfer full) (nullable): a copy of the current event, or
+ * Returns: (transfer full) (nullable): a reference of the current event, or
  *     %NULL if there is no current event. The returned event must be
  *     freed with g_object_unref().
  */
@@ -2338,7 +2338,7 @@ GdkEvent*
 gtk_get_current_event (void)
 {
   if (current_events)
-    return gdk_event_copy (current_events->data);
+    return g_object_ref (current_events->data);
   else
     return NULL;
 }